# Test data file for JavaScriptCore::RegExp functional test.
# The format of this file is:
# # comment line
# /{pattern}/{flags}
#  "{string}", {offset}, {return-value}, {match-offset-vector}
# Both the pattern and string accept backslash escapes.
#
/A/
 "A", 0, 0, (0, 1)
 "A2", 0, 0, (0, 1)
/A2/
 "A2", 0, 0, (0, 2)
/\\u0041/
 "A", 0, 0, (0, 1)
/\\u00412/
 "A2", 0, 0, (0, 2)
/abc/
 "abc", 0, 0, (0, 3)
 "xabcy", 0, 1, (1, 4)
 "ababc", 0, 2, (2, 5)
 "xbc", 0, -1, (-1, -1)
 "axc", 0, -1, (-1, -1)
 "abx", 0, -1, (-1, -1)
 "b", 0, -1, (-1, -1)
/a|ab/
 "abc", 0, 0, (0, 1)
/(a|d|q|)x/i
 "bcaDxqy", 0, 3, (3, 5, 3, 4)
/(a|(e|q))(x|y)/
 "bcaddxqy", 0, 6, (6, 8, 6, 7, 6, 7, 7, 8)
/a*b/
 "aaadaabaaa", 0, 4, (4, 7)
 "xxx", 0, -1, (4, 4)
/[^abc]def[abc]+/
 "abxdefbb", 0, 2, (2, 8)
/(a*)baa/
 "ccdaaabaxaabaa", 0, 9, (9, 14, 9, 11)
 "aabaa", 0, 0, (0, 5, 0, 2)
/q(a|b)*q/
 "xxqababqyy", 0, 2, (2, 8, 6, 7)
/(a(.|[^d])c)*/
 "adcaxc", 0, 0, (0, 6, 3, 6, 4, 5)
/(a*)b\\1/
 "abaaaxaabaayy", 0, 0, (0, 3, 0, 1)
 "cccdaaabaxaabaayy", 0, 6, (6, 9, 6, 7)
 "cccdaaabqxaabaayy", 0, 7, (7, 8, 7, 7)
/x1g/
 "x1g", 0, 0, (0, 3)
/^x/
 "x412", 0, 0, (0, 1)
/\\u001g/
 "u001g", 0, 0, (0, 5)
/34/g
 "343443444", 0, 0, (0, 2)
 "343443444", 2, 2, (2, 4)
 "343443444", 4, 5, (5, 7)
 "343443444", 7, -1, (-1, -1)
/\\d{1}/g
 "123456abcde7890", 0, 0, (0, 1)
 "123456abcde7890", 1, 1, (1, 2)
 "123456abcde7890", 2, 2, (2, 3)
 "123456abcde7890", 3, 3, (3, 4)
 "123456abcde7890", 4, 4, (4, 5)
 "123456abcde7890", 5, 5, (5, 6)
 "123456abcde7890", 6, 11, (11, 12)
 "123456abcde7890", 12, 12, (12, 13)
 "123456abcde7890", 13, 13, (13, 14)
 "123456abcde7890", 14, 14, (14, 15)
 "123456abcde7890", 15, -1, (-1, -1)
/\\d{2}/g
 "123456abcde7890", 0, 0, (0, 2)
 "123456abcde7890", 2, 2, (2, 4)
 "123456abcde7890", 4, 4, (4, 6)
 "123456abcde7890", 6, 11, (11, 13)
 "123456abcde7890", 13, 13, (13, 15)
 "123456abcde7890", 15, -1, (-1, -1)
/\\D{2}/g
 "123456abcde7890", 0, 6, (6, 8)
 "123456abcde7890", 8, 8, (8, 10)
 "123456abcde7890", 10, -1, (-1, -1)
/([\\d]{5})([-\\ ]?[\\d]{4})?$/
 "Boston, Mass. 02134", 0, 14, (14, 19, 14, 19, -1, -1)
/l/
 "hello", 0, 2, (2, 3)
 "hello", 3, 3, (3, 4)
 "hello", 4, -1, (-1, -1)
/\\s/g
 "x, x, x, x", 0, 2, (2, 3)
 "x, x, x, x", 3, 5, (5, 6)
 "x, x, x, x", 6, 8, (8, 9)
 "x, x, x, x", 9, -1, (-1, -1)
/((a)|(ab))((c)|(bc))/
 "abc", 0, 0, (0, 3, 0, 1, 0, 1, -1, -1, 1, 3, -1, -1, 1, 3)
/a[a-z]{2,4}/
 "abcdefghi", 0, 0, (0, 5)
/a[a-z]{2,4}?/
 "abcdefghi", 0, 0, (0, 3)
/(aa|aabaac|ba|b|c)*/
 "aabaac", 0, 0, (0, 4, 2, 4)
/^(a+)\\1*,\\1+$/
 "aaaaaaaaaa,aaaaaaaaaaaaaaa", 0, 0, (0, 26, 0, 5)
/(z)((a+)?(b+)?(c))*/
 "zaacbbbcac", 0, 0, (0, 10, 0, 1, 8, 10, 8, 9, -1, -1, 9, 10)
/(a*)*/
 "b", 0, 0, (0, 0, -1, -1)
 "ab", 0, 0, (0, 1, 0, 1)
/(a*)b\\1+/
 "baaaac", 0, 0, (0, 1, 0, 0)
/(?=(a+))/
 "baaabac", 0, 1, (1, 1, 1, 4)
/(?=(a+))a*b\\1/
 "baaabac", 0, 3, (3, 6, 3, 4)
/(.*?)a(?!(a+)b\\2c)\\2(.*)/
 "baaabaac", 0, 0, (0, 8, 0, 2, -1, -1, 3, 8)
/\\w\\s\\w/g
 "a b c d e", 0, 0, (0, 3)
 "a b c d e", 3, 4, (4, 7)
 "a b c d e", 7, -1, (-1, -1)
/\\d\\d\\d/g
 "12345678", 0, 0, (0, 3)
 "12345678", 3, 3, (3, 6)
 "12345678", 6, -1, (-1, -1)
/abc/gi
 "AbcaBcabC", 0, 0, (0, 3)
 "AbcaBcabC", 3, 3, (3, 6)
 "AbcaBcabC", 6, 6, (6, 9)
 "AbcaBcabC", 9, -1, (-1, -1)
/abc/i
 "AbcaBcabC", 0, 0, (0, 3)
 "ABC", 0, 0, (0, 3)
 "XABCY", 0, 1, (1, 4)
 "ABABC", 0, 2, (2, 5)
 "XBC", 0, -1, (-1, -1)
 "AXC", 0, -1, (-1, -1)
 "ABX", 0, -1, (-1, -1)
 "aaxabxbaxbbx", 0, -1, (-1, -1)
/ab*c/
 "abc", 0, 0, (0, 3)
/ab*bc/
 "abc", 0, 0, (0, 3)
 "abbc", 0, 0, (0, 4)
 "abbbbc", 0, 0, (0, 6)
/.{1}/
 "abbbbc", 0, 0, (0, 1)
/.{3,4}/
 "abbbbc", 0, 0, (0, 4)
/ab{0,}bc/
 "abbbbc", 0, 0, (0, 6)
/ab+bc/
 "abbc", 0, 0, (0, 4)
 "abbbbc", 0, 0, (0, 6)
 "abc", 0, -1, (0, 9)
 "abq", 0, -1, (0, 9)
 "abc", 0, -1, (0, -1)
 "abq", 0, -1, (0, -1)
/ab{1,}bc/
 "abbbbc", 0, 0, (0, 6)
 "abq", 0, -1, (0, 9)
/ab{1,3}bc/
 "abbbbc", 0, 0, (0, 6)
 "abbbc", 0, 0, (0, 5)
 "abbc", 0, 0, (0, 4)
 "abc", 0, -1, (0, -1)
 "abbbbbc", 0, -1, (4, -1)
/ab{3,4}bc/
 "abbbbc", 0, 0, (0, 6)
/ab?bc/
 "abbc", 0, 0, (0, 4)
 "abc", 0, 0, (0, 3)
 "abbbbc", 0, -1, (4, 9)
/ab{0,1}bc/
 "abc", 0, 0, (0, 3)
/ab?c/
 "abc", 0, 0, (0, 3)
/ab{0,1}c/
 "abc", 0, 0, (0, 3)
/^abc$/
 "abc", 0, 0, (0, 3)
 "abcc", 0, -1, (-1, -1)
 "aabc", 0, -1, (-1, -1)
 "abbbbc", 0, -1, (-1, -1)
 "qqq\nabc", 0, -1, (-1, -1)
 "abc\nzzz", 0, -1, (-1, -1)
 "qqq\nabc\nzzz", 0, -1, (-1, -1)
/^abc/
 "abcc", 0, 0, (0, 3)
 "abcdefghi", 0, 0, (0, 3)
 "abc", 0, 0, (0, 3)
 "xyzabc", 0, -1, (-1, -1)
/abc$/
 "aabc", 0, 1, (1, 4)
 "aabcd", 0, -1, (-1, -1)
 "abc", 0, 0, (0, 3)
 "abc\n", 0, -1, (-1, -1)
 "abc\ndef", 0, -1, (-1, -1)
/^/
 "abc", 0, 0, (0, 0)
 "test", 0, 0, (0, 0)
/$/
 "abc", 0, 3, (3, 3)
 "a\nb\n", 0, 4, (4, 4)
 "b\na\n", 0, 4, (4, 4)
 "b\na", 0, 3, (3, 3)
 "xxx", 0, 3, (3, 3)
 "xxxx", 0, 4, (4, 4)
/a.c/
 "abc", 0, 0, (0, 3)
 "axc", 0, 0, (0, 3)
/a.*c/
 "axyzc", 0, 0, (0, 5)
 "axyzd", 0, -1, (4, 10)
/a[bc]d/
 "abd", 0, 0, (0, 3)
 "abc", 0, -1, (-1, -1)
 "axyzd", 0, -1, (-1, -1)
/a[b-d]e/
 "ace", 0, 0, (0, 3)
 "abd", 0, -1, (-1, -1)
/a[b-d]/
 "aac", 0, 1, (1, 3)
/a[-b]/
 "a-", 0, 0, (0, 2)
/a[b-]/
 "a-", 0, 0, (0, 2)
/a]/
 "a]", 0, 0, (0, 2)
/a[^bc]d/
 "aed", 0, 0, (0, 3)
 "abd", 0, -1, (-1, -1)
/a[^-b]c/
 "adc", 0, 0, (0, 3)
 "a-c", 0, -1, (-1, -1)
/\\ba\\b/
 "a-", 0, 0, (0, 1)
 "-a", 0, 1, (1, 2)
 "-a-", 0, 1, (1, 2)
/\\By\\b/
 "xy", 0, 1, (1, 2)
/\\by\\B/
 "yz", 0, 0, (0, 1)
/\\By\\B/
 "xyz", 0, 1, (1, 2)
/a\\Sb/
 "a-b", 0, 0, (0, 3)
 "a\tb a b a-b", 0, 8, (8, 11)
 "a b", 0, -1, (-1, -1)
/\\d/
 "1", 0, 0, (0, 1)
 "-", 0, -1, (-1, -1)
 "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? \"", 0, -1, (-1, -1)
 "ab1cd", 0, 2, (2, 3)
 "ab2cd", 0, 2, (2, 3)
 "ab3cd", 0, 2, (2, 3)
 "ab4cd", 0, 2, (2, 3)
 "ab5cd", 0, 2, (2, 3)
 "ab6cd", 0, 2, (2, 3)
 "ab7cd", 0, 2, (2, 3)
 "ab8cd", 0, 2, (2, 3)
 "ab9cd", 0, 2, (2, 3)
 "ab0cd", 0, 2, (2, 3)
 "\u01003", 0, 1, (1, 2)
/\\D/
 "-", 0, 0, (0, 1)
 "1", 0, -1, (-1, -1)
 "1234567890", 0, -1, (-1, -1)
 "12_34", 0, 2, (2, 3)
 "12a34", 0, 2, (2, 3)
 "12b34", 0, 2, (2, 3)
 "1X2", 0, 1, (1, 2)
 "1\u01002", 0, 1, (1, 2)
/[\\w]/
 "a", 0, 0, (0, 1)
 "-", 0, -1, (-1, -1)
/[\\W]/
 "-", 0, 0, (0, 1)
 "a", 0, -1, (-1, -1)
/a[\\S]b/
 "a-b", 0, 0, (0, 3)
 "a b", 0, -1, (-1, -1)
/[\\d]/
 "1", 0, 0, (0, 1)
 "-", 0, -1, (-1, -1)
/[\\D]/
 "-", 0, 0, (0, 1)
 "1", 0, -1, (-1, -1)
/ab|cd/
 "abc", 0, 0, (0, 2)
 "abcd", 0, 0, (0, 2)
/()ef/
 "def", 0, 1, (1, 3, 1, 1)
/a\\(b/
 "a(b", 0, 0, (0, 3)
/a\\(*b/
 "ab", 0, 0, (0, 2)
 "a((b", 0, 0, (0, 4)
/a\\\\b/
 "a\\b", 0, 0, (0, 3)
 "a\b", 0, -1, (-1, -1)
/((a))/
 "abc", 0, 0, (0, 1, 0, 1, 0, 1)
/(a)b(c)/
 "abc", 0, 0, (0, 3, 0, 1, 2, 3)
/a+b+c/
 "aabbabc", 0, 4, (4, 7)
/a{1,}b{1,}c/
 "aabbabc", 0, 4, (4, 7)
/a.+?c/
 "abcabc", 0, 0, (0, 3)
/(a+|b)*/
 "ab", 0, 0, (0, 2, 1, 2)
/(a+|b){0,}/
 "ab", 0, 0, (0, 2, 1, 2)
/(a+|b)+/
 "ab", 0, 0, (0, 2, 1, 2)
/(a+|b){1,}/
 "ab", 0, 0, (0, 2, 1, 2)
/(a+|b)?/
 "ab", 0, 0, (0, 1, 0, 1)
/(a+|b){0,1}/
 "ab", 0, 0, (0, 1, 0, 1)
/[^ab]*/
 "cde", 0, 0, (0, 3)
/([abc])*d/
 "abbbcd", 0, 0, (0, 6, 4, 5)
/([abc])*bcd/
 "abcd", 0, 0, (0, 4, 0, 1)
/a|b|c|d|e/
 "e", 0, 0, (0, 1)
/(a|b|c|d|e)f/
 "ef", 0, 0, (0, 2, 0, 1)
/abcd*efg/
 "abcdefg", 0, 0, (0, 7)
/ab*/
 "xabyabbbz", 0, 1, (1, 3)
 "xayabbbz", 0, 1, (1, 2)
/(ab|cd)e/
 "abcde", 0, 2, (2, 5, 2, 4)
/[abhgefdc]ij/
 "hij", 0, 0, (0, 3)
/(abc|)ef/
 "abcdef", 0, 4, (4, 6, 4, 4)
/(a|b)c*d/
 "abcd", 0, 1, (1, 4, 1, 2)
/(ab|ab*)bc/
 "abc", 0, 0, (0, 3, 0, 1)
/a([bc]*)c*/
 "abc", 0, 0, (0, 3, 1, 3)
/a([bc]*)(c*d)/
 "abcd", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]+)(c*d)/
 "abcd", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]*)(c+d)/
 "abcd", 0, 0, (0, 4, 1, 2, 2, 4)
/a[bcd]*dcdcde/
 "adcdcde", 0, 0, (0, 7)
/(ab|a)b*c/
 "abc", 0, 0, (0, 3, 0, 2)
/((a)(b)c)(d)/
 "abcd", 0, 0, (0, 4, 0, 3, 0, 1, 1, 2, 3, 4)
/[a-zA-Z_][a-zA-Z0-9_]*/
 "alpha", 0, 0, (0, 5)
/^a(bc+|b[eh])g|.h$/
 "abh", 0, 1, (1, 3, -1, -1)
/(bc+d$|ef*g.|h?i(j|k))/
 "effgz", 0, 0, (0, 5, 0, 5, -1, -1)
 "ij", 0, 0, (0, 2, 0, 2, 1, 2)
 "reffgz", 0, 1, (1, 6, 1, 6, -1, -1)
 "effg", 0, -1, (3, 10, -1, -1, -1, -1)
 "bcdd", 0, -1, (3, 10, -1, -1, -1, -1)
 "effg", 0, -1, (3, -1, -1, -1, -1, -1)
 "bcdd", 0, -1, (3, -1, -1, -1, -1, -1)
/((((((((((a))))))))))/
 "a", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
 "a!", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/((((((((((a))))))))))\\10/
 "aa", 0, 0, (0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(((((((((a)))))))))/
 "a", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(.*)c(.*)/
 "abcde", 0, 0, (0, 5, 0, 2, 3, 5)
/abcd/
 "abcd", 0, 0, (0, 4)
/a(bc)d/
 "abcd", 0, 0, (0, 4, 1, 3)
/a[-]?c/
 "ac", 0, 0, (0, 2)
/(abc)\\1/
 "abcabc", 0, 0, (0, 6, 0, 3)
/([a-c]*)\\1/
 "abcabc", 0, 0, (0, 6, 0, 3)
/(a)|\\1/
 "a", 0, 0, (0, 1, 0, 1)
 "x", 0, 0, (0, 0, -1, -1)
 "ab", 0, 0, (0, 1, 0, 1)
/(([a-c])b*?\\2)*/
 "ababbbcbc", 0, 0, (0, 5, 3, 5, 3, 4)
/(([a-c])b*?\\2){3}/
 "ababbbcbc", 0, 0, (0, 9, 6, 9, 6, 7)
/ab*c/i
 "ABC", 0, 0, (0, 3)
/ab*bc/i
 "ABC", 0, 0, (0, 3)
 "ABBC", 0, 0, (0, 4)
/ab*?bc/i
 "ABBBBC", 0, 0, (0, 6)
/ab{0,}?bc/i
 "ABBBBC", 0, 0, (0, 6)
/ab+?bc/i
 "ABBC", 0, 0, (0, 4)
/ab+bc/i
 "ABBBBC", 0, 0, (0, 6)
 "ABC", 0, -1, (0, 10)
 "ABQ", 0, -1, (0, 10)
 "ABC", 0, -1, (0, -1)
 "ABQ", 0, -1, (0, -1)
/ab{1,}?bc/i
 "ABBBBC", 0, 0, (0, 6)
/ab{1,3}?bc/i
 "ABBBBC", 0, 0, (0, 6)
/ab{3,4}?bc/i
 "ABBBBC", 0, 0, (0, 6)
/ab??bc/i
 "ABBC", 0, 0, (0, 4)
 "ABC", 0, 0, (0, 3)
 "ABBBBC", 0, -1, (4, 10)
/ab{0,1}?bc/i
 "ABC", 0, 0, (0, 3)
/ab??c/i
 "ABC", 0, 0, (0, 3)
/ab{0,1}?c/i
 "ABC", 0, 0, (0, 3)
/^abc$/i
 "ABC", 0, 0, (0, 3)
 "ABCC", 0, -1, (-1, -1)
 "AABC", 0, -1, (-1, -1)
 "ABBBBC", 0, -1, (-1, -1)
/^abc/i
 "ABCC", 0, 0, (0, 3)
/abc$/i
 "AABC", 0, 1, (1, 4)
/^/i
 "ABC", 0, 0, (0, 0)
/$/i
 "ABC", 0, 3, (3, 3)
/a.c/i
 "ABC", 0, 0, (0, 3)
 "AXC", 0, 0, (0, 3)
/a.*?c/i
 "AXYZC", 0, 0, (0, 5)
 "ABCABC", 0, 0, (0, 3)
/a[bc]d/i
 "ABD", 0, 0, (0, 3)
 "ABC", 0, -1, (-1, -1)
/a[b-d]e/i
 "ACE", 0, 0, (0, 3)
 "ABD", 0, -1, (-1, -1)
 "ABC", 0, -1, (-1, -1)
/a[b-d]/i
 "AAC", 0, 1, (1, 3)
/a[-b]/i
 "A-", 0, 0, (0, 2)
/a[b-]/i
 "A-", 0, 0, (0, 2)
/a]/i
 "A]", 0, 0, (0, 2)
/a[^bc]d/i
 "AED", 0, 0, (0, 3)
 "ABD", 0, -1, (-1, -1)
/a[^-b]c/i
 "ADC", 0, 0, (0, 3)
 "A-C", 0, -1, (-1, -1)
 "ABD", 0, -1, (-1, -1)
/ab|cd/i
 "ABC", 0, 0, (0, 2)
 "ABCD", 0, 0, (0, 2)
/()ef/i
 "DEF", 0, 1, (1, 3, 1, 1)
/a\\(b/i
 "A(B", 0, 0, (0, 3)
/a\\(*b/i
 "AB", 0, 0, (0, 2)
 "A((B", 0, 0, (0, 4)
/a\\\\b/i
 "A\\B", 0, 0, (0, 3)
 "AB", 0, -1, (-1, -1)
/((a))/i
 "ABC", 0, 0, (0, 1, 0, 1, 0, 1)
/(a)b(c)/i
 "ABC", 0, 0, (0, 3, 0, 1, 2, 3)
/a+b+c/i
 "AABBABC", 0, 4, (4, 7)
/a{1,}b{1,}c/i
 "AABBABC", 0, 4, (4, 7)
/a.+?c/i
 "ABCABC", 0, 0, (0, 3)
/a.{0,5}?c/i
 "ABCABC", 0, 0, (0, 3)
/(a+|b)*/i
 "AB", 0, 0, (0, 2, 1, 2)
/(a+|b){0,}/i
 "AB", 0, 0, (0, 2, 1, 2)
/(a+|b)+/i
 "AB", 0, 0, (0, 2, 1, 2)
/(a+|b){1,}/i
 "AB", 0, 0, (0, 2, 1, 2)
/(a+|b)?/i
 "AB", 0, 0, (0, 1, 0, 1)
/(a+|b){0,1}/i
 "AB", 0, 0, (0, 1, 0, 1)
/(a+|b){0,1}?/i
 "AB", 0, 0, (0, 0, -1, -1)
/[^ab]*/i
 "CDE", 0, 0, (0, 3)
/([abc])*d/i
 "ABBBCD", 0, 0, (0, 6, 4, 5)
/([abc])*bcd/i
 "ABCD", 0, 0, (0, 4, 0, 1)
/a|b|c|d|e/i
 "E", 0, 0, (0, 1)
/(a|b|c|d|e)f/i
 "EF", 0, 0, (0, 2, 0, 1)
/abcd*efg/i
 "ABCDEFG", 0, 0, (0, 7)
/ab*/i
 "XABYABBBZ", 0, 1, (1, 3)
 "XAYABBBZ", 0, 1, (1, 2)
/(ab|cd)e/i
 "ABCDE", 0, 2, (2, 5, 2, 4)
/[abhgefdc]ij/i
 "HIJ", 0, 0, (0, 3)
/(abc|)ef/i
 "ABCDEF", 0, 4, (4, 6, 4, 4)
/(a|b)c*d/i
 "ABCD", 0, 1, (1, 4, 1, 2)
/(ab|ab*)bc/i
 "ABC", 0, 0, (0, 3, 0, 1)
/a([bc]*)c*/i
 "ABC", 0, 0, (0, 3, 1, 3)
/a([bc]*)(c*d)/i
 "ABCD", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]+)(c*d)/i
 "ABCD", 0, 0, (0, 4, 1, 3, 3, 4)
/a([bc]*)(c+d)/i
 "ABCD", 0, 0, (0, 4, 1, 2, 2, 4)
/a[bcd]*dcdcde/i
 "ADCDCDE", 0, 0, (0, 7)
/(ab|a)b*c/i
 "ABC", 0, 0, (0, 3, 0, 2)
/((a)(b)c)(d)/i
 "ABCD", 0, 0, (0, 4, 0, 3, 0, 1, 1, 2, 3, 4)
/[a-zA-Z_][a-zA-Z0-9_]*/i
 "ALPHA", 0, 0, (0, 5)
/^a(bc+|b[eh])g|.h$/i
 "ABH", 0, 1, (1, 3, -1, -1)
/(bc+d$|ef*g.|h?i(j|k))/i
 "EFFGZ", 0, 0, (0, 5, 0, 5, -1, -1)
 "IJ", 0, 0, (0, 2, 0, 2, 1, 2)
 "REFFGZ", 0, 1, (1, 6, 1, 6, -1, -1)
 "EFFG", 0, -1, (3, 10, -1, -1, -1, -1)
 "BCDD", 0, -1, (3, 10, -1, -1, -1, -1)
 "ADCDCDE", 0, -1, (6, -1, -1, -1, -1, -1)
 "EFFG", 0, -1, (3, -1, -1, -1, -1, -1)
 "BCDD", 0, -1, (3, -1, -1, -1, -1, -1)
/((((((((((a))))))))))/i
 "A", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
 "A!", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/((((((((((a))))))))))\\10/i
 "AA", 0, 0, (0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(((((((((a)))))))))/i
 "A", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1)
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i
 "A", 0, 0, (0, 1, 0, 1)
/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i
 "C", 0, 0, (0, 1, 0, 1)
/(.*)c(.*)/i
 "ABCDE", 0, 0, (0, 5, 0, 2, 3, 5)
/abcd/i
 "ABCD", 0, 0, (0, 4)
/a(bc)d/i
 "ABCD", 0, 0, (0, 4, 1, 3)
/a[-]?c/i
 "AC", 0, 0, (0, 2)
/(abc)\\1/i
 "ABCABC", 0, 0, (0, 6, 0, 3)
 "abcabc", 0, 0, (0, 6, 0, 3)
 "ABCabc", 0, 0, (0, 6, 0, 3)
 "abcABC", 0, 0, (0, 6, 0, 3)
/([a-c]*)\\1/i
 "ABCABC", 0, 0, (0, 6, 0, 3)
/a(?!b)./
 "abad", 0, 2, (2, 4)
/a(?=d)./
 "abad", 0, 2, (2, 4)
/a(?=c|d)./
 "abad", 0, 2, (2, 4)
/a(?:b|c|d)(.)/
 "ace", 0, 0, (0, 3, 2, 3)
/a(?:b|c|d)*(.)/
 "ace", 0, 0, (0, 3, 2, 3)
/a(?:b|c|d)+?(.)/
 "ace", 0, 0, (0, 3, 2, 3)
 "acdbcdbe", 0, 0, (0, 3, 2, 3)
/a(?:b|c|d)+(.)/
 "acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){2}(.)/
 "acdbcdbe", 0, 0, (0, 4, 3, 4)
/a(?:b|c|d){4,5}(.)/
 "acdbcdbe", 0, 0, (0, 7, 6, 7)
/a(?:b|c|d){4,5}?(.)/
 "acdbcdbe", 0, 0, (0, 6, 5, 6)
/((foo)|(bar))*/
 "foobar", 0, 0, (0, 6, 3, 6, -1, -1, 3, 6)
/a(?:b|c|d){6,7}(.)/
 "acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){6,7}?(.)/
 "acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){5,6}(.)/
 "acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){5,6}?(.)/
 "acdbcdbe", 0, 0, (0, 7, 6, 7)
/a(?:b|c|d){5,7}(.)/
 "acdbcdbe", 0, 0, (0, 8, 7, 8)
/a(?:b|c|d){5,7}?(.)/
 "acdbcdbe", 0, 0, (0, 7, 6, 7)
/a(?:b|(c|e){1,2}?|d)+?(.)/
 "ace", 0, 0, (0, 3, 1, 2, 2, 3)
/^(.+)?B/
 "AB", 0, 0, (0, 2, 0, 1)
/^([^a-z])|(\\^)$/
 ".", 0, 0, (0, 1, 0, 1, -1, -1)
/^[<>]&/
 "<&OUT", 0, 0, (0, 2)
/((a{4})+)/
 "aaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8)
/(((aa){2})+)/
 "aaaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8, 6, 8)
/(((a{2}){2})+)/
 "aaaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8, 6, 8)
/(?:(f)(o)(o)|(b)(a)(r))*/
 "foobar", 0, 0, (0, 6, -1, -1, -1, -1, -1, -1, 3, 4, 4, 5, 5, 6)
/(?:..)*a/
 "aba", 0, 0, (0, 3)
/(?:..)*?a/
 "aba", 0, 0, (0, 1)
/^(?:b|a(?=(.)))*\\1/
 "abc", 0, 0, (0, 2, -1, -1)
/^(){3,5}/
 "abc", 0, 0, (0, 0, 0, 0)
/^(a+)*ax/
 "aax", 0, 0, (0, 3, 0, 1)
/^((a|b)+)*ax/
 "aax", 0, 0, (0, 3, 0, 1, 0, 1)
/^((a|bc)+)*ax/
 "aax", 0, 0, (0, 3, 0, 1, 0, 1)
/(a|x)*ab/
 "cab", 0, 1, (1, 3, -1, -1)
/(a)*ab/
 "cab", 0, 1, (1, 3, -1, -1)
/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/
 "cabbbb", 0, 0, (0, 6)
/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/
 "caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 0, 0, (0, 41)
/(ab)\\d\\1/i
 "Ab4ab", 0, 0, (0, 5, 0, 2)
 "ab4Ab", 0, 0, (0, 5, 0, 2)
/foo\\w*\\d{4}baz/
 "foobar1234baz", 0, 0, (0, 13)
/x(~~)*(?:(?:F)?)?/
 "x~~", 0, 0, (0, 3, 1, 3)
/(?=(a+?))(\\1ab)/
 "aaab", 0, 1, (1, 4, 1, 2, 1, 4)
/(\\w+:)+/
 "one:", 0, 0, (0, 4, 0, 4)
/([\\w:]+::)?(\\w+)$/
 "abcd", 0, 0, (0, 4, -1, -1, 0, 4)
 "xy:z:::abcd", 0, 0, (0, 11, 0, 7, 7, 11)
 "abcd:", 0, -1, (6, 11, -1, -1, -1, -1)
 "abcd:", 0, -1, (6, -1, -1, -1, -1, -1)
/^[^bcd]*(c+)/
 "aexycd", 0, 0, (0, 5, 4, 5)
/(a*)b+/
 "caab", 0, 1, (1, 4, 1, 3)
/([[:]+)/
 "a:[b]:", 0, 1, (1, 3, 1, 3)
/([[=]+)/
 "a=[b]=", 0, 1, (1, 3, 1, 3)
/([[.]+)/
 "a.[b].", 0, 1, (1, 3, 1, 3)
/$/m
 "a\nb\n", 0, 1, (1, 1)
 "b\na\n", 0, 1, (1, 1)
 "b\na", 0, 1, (1, 1)
/a$/
 "b\na", 0, 2, (2, 3)
 "a\nb\n", 0, -1, (-1, -1)
 "aaab", 0, -1, (-1, -1)
/a$/m
 "a\nb\n", 0, 0, (0, 1)
 "b\na\n", 0, 2, (2, 3)
 "b\na", 0, 2, (2, 3)
/aa$/
 "b\naa", 0, 2, (2, 4)
 "aa\nb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/aa$/m
 "aa\nb\n", 0, 0, (0, 2)
 "b\naa\n", 0, 2, (2, 4)
 "b\naa", 0, 2, (2, 4)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/ab$/
 "b\nab", 0, 2, (2, 4)
 "ab\nb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/ab$/m
 "ab\nb\n", 0, 0, (0, 2)
 "b\nab\n", 0, 2, (2, 4)
 "b\nab", 0, 2, (2, 4)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/abb$/
 "b\nabb", 0, 2, (2, 5)
 "abb\nb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/abb$/m
 "abb\nb\n", 0, 0, (0, 3)
 "b\nabb\n", 0, 2, (2, 5)
 "b\nabb", 0, 2, (2, 5)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/(^|x)(c)/
 "ca", 0, 0, (0, 1, 0, 0, 0, 1)
/foo.bart/
 "foo.bart", 0, 0, (0, 8)
/^d[x][x][x]/m
 "abcd\ndxxx", 0, 5, (5, 9)
/tt+$/
 "xxxtt", 0, 3, (3, 5)
/(\\d+\\.\\d+)/
 "3.1415926", 0, 0, (0, 9, 0, 9)
/\\.c(pp|xx|c)?$/i
 "IO.c", 0, 2, (2, 4, -1, -1)
 "Changes", 0, -1, (6, 11, -1, -1)
/(\\.c(pp|xx|c)?$)/i
 "IO.c", 0, 2, (2, 4, 2, 4, -1, -1)
/(^|a)b/
 "ab", 0, 0, (0, 2, 0, 1)
/^([ab]*?)(b)?(c)$/
 "abac", 0, 0, (0, 4, 0, 3, -1, -1, 3, 4)
/^(?:.,){2}c/i
 "a,b,c", 0, 0, (0, 5)
/^(.,){2}c/i
 "a,b,c", 0, 0, (0, 5, 2, 4)
/^(?:[^,]*,){2}c/
 "a,b,c", 0, 0, (0, 5)
/^([^,]*,){2}c/
 "a,b,c", 0, 0, (0, 5, 2, 4)
/^([^,]*,){3}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]*,){3,}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]*,){0,3}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,3},){3}d/i
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,3},){3,}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,3},){0,3}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,},){3}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,},){3,}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{1,},){0,3}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{0,3},){3}d/i
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{0,3},){3,}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^([^,]{0,3},){0,3}d/
 "aaa,b,c,d", 0, 0, (0, 9, 6, 8)
/^(a(b)?)+$/
 "aba", 0, 0, (0, 3, 2, 3, -1, -1)
/^(aa(bb)?)+$/
 "aabbaa", 0, 0, (0, 6, 4, 6, -1, -1)
/^.{9}abc.*\\n/m
 "123\nabcabcabcabc\n", 0, 4, (4, 17)
/^(a)?a$/
 "a", 0, 0, (0, 1, -1, -1)
/^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$/
 "aaaaaa", 0, 0, (0, 6, 0, 1, 1, 3, 3, 4, 4, 6)
 "a", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaa", 0, 0, (0, 4, 0, 1, 1, 2, 2, 3, 3, 4)
 "aaaaa", 0, 0, (0, 5, 0, 1, 1, 3, 3, 4, 4, 5)
 "aaaaaaa", 0, 0, (0, 7, 0, 1, 1, 3, 3, 6, 6, 7)
 "aaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaaa", 0, 0, (0, 10, 0, 1, 1, 3, 3, 6, 6, 10)
 "aaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
 "aaaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1)
/^(0+)?(?:x(1))?/
 "x1", 0, 0, (0, 2, -1, -1, 1, 2)
/^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?/
 "012cxx0190", 0, 0, (0, 10, 0, 4, -1, -1, 6, 10)
/^(b+?|a){1,2}c/
 "bbbac", 0, 0, (0, 5, 3, 4)
 "bbbbac", 0, 0, (0, 6, 4, 5)
/((?:aaaa|bbbb)cccc)?/
 "aaaacccc", 0, 0, (0, 8, 0, 8)
 "bbbbcccc", 0, 0, (0, 8, 0, 8)
/ab{4,5}bc/
 "abbbbc", 0, -1, (0, 9)
 "abq", 0, -1, (0, -1)
 "abbbbc", 0, -1, (0, -1)
/a[^]b]c/
 "a]c", 0, -1, (-1, -1)
/\\by\\b/
 "xy", 0, -1, (-1, -1)
 "yz", 0, -1, (-1, -1)
 "xyz", 0, -1, (-1, -1)
/\\Ba\\B/
 "a-", 0, -1, (-1, -1)
 "-a", 0, -1, (-1, -1)
 "-a-", 0, -1, (-1, -1)
/a\\sb/
 "a-b", 0, -1, (-1, -1)
 "a b", 0, 0, (0, 3)
/a[\\s]b/
 "a-b", 0, -1, (-1, -1)
 "a b", 0, 0, (0, 3)
/$b/
 "b", 0, -1, (-1, -1)
/^(ab|cd)e/
 "abcde", 0, -1, (0, 10, -1, -1)
/a[bcd]+dcdcde/
 "adcdcde", 0, -1, (0, 10)
 "abcde", 0, -1, (0, -1)
 "adcdcde", 0, -1, (0, -1)
/[k]/
 "ab", 0, -1, (-1, -1)
/((\\3|b)\\2(a)x)+/
 "aaxabxbaxbbx", 0, 1, (1, 3, 1, 3, 1, 1, 1, 2)
 "aaaxabaxbaaxbbax", 0, 2, (2, 4, 2, 4, 2, 2, 2, 3)
/ab{1,}bc/i
 "ABQ", 0, -1, (0, 10)
/ab{4,5}?bc/i
 "ABBBBC", 0, -1, (0, 10)
 "ABQ", 0, -1, (0, -1)
 "ABBBBC", 0, -1, (0, -1)
/a.*c/i
 "AXYZD", 0, -1, (4, 10)
 "AABC", 0, 0, (0, 4)
 "AXYZD", 0, -1, (4, -1)
/a[^]b]c/i
 "A]C", 0, -1, (-1, -1)
/$b/i
 "B", 0, -1, (-1, -1)
 "A]C", 0, -1, (-1, -1)
/^(ab|cd)e/i
 "ABCDE", 0, -1, (0, 10, -1, -1)
 "ABCDE", 0, -1, (0, -1, -1, -1)
/a[bcd]+dcdcde/i
 "ADCDCDE", 0, -1, (0, 10)
/[k]/i
 "AB", 0, -1, (-1, -1)
/^(a\\1?){4}$/
 "aaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "a", 0, -1, (-1, -1, -1, -1)
 "aa", 0, -1, (-1, -1, -1, -1)
 "aaa", 0, -1, (-1, -1, -1, -1)
 "aaaa", 0, 0, (0, 4, 3, 4)
 "aaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "aaaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1)
 "AB", 0, -1, (-1, -1, -1, -1)
/^(?:a?b?)*$/
 "a--", 0, -1, (-1, -1)
 "", 0, 0, (0, 0)
 "a", 0, 0, (0, 1)
 "ab", 0, 0, (0, 2)
 "aaa", 0, 0, (0, 3)
 "dbcb", 0, -1, (-1, -1)
 "aa--", 0, -1, (-1, -1)
/^b/
 "a\nb\nc\n", 0, -1, (-1, -1)
/()^b/
 "a\nb\nc\n", 0, -1, (7, 10, -1, -1)
 "a\nb\nc\n", 0, -1, (7, -1, -1, -1)
/^(?=(a+?))\\1ab/
 "aaab", 0, -1, (-1, -1, 0, 1)
/(>a+)ab/
 "aaab", 0, -1, (1, 11, -1, -1)
/a\\Z/
 "a\nb\n", 0, -1, (-1, -1)
/a\\z/
 "a\nb\n", 0, -1, (-1, -1)
 "b\na\n", 0, -1, (-1, -1)
 "az", 0, 0, (0, 2)
/a\\z/m
 "a\nb\n", 0, -1, (-1, -1)
 "b\na\n", 0, -1, (-1, -1)
/aa\\Z/
 "aa\nb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/aa\\z/
 "aa\nb\n", 0, -1, (-1, -1)
 "b\naa\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/aa\\z/m
 "aa\nb\n", 0, -1, (-1, -1)
 "b\naa\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/aa\\Z/m
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/ab\\Z/
 "ab\nb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/ab\\z/
 "ab\nb\n", 0, -1, (-1, -1)
 "b\nab\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/ab\\z/m
 "ab\nb\n", 0, -1, (-1, -1)
 "b\nab\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/ab\\Z/m
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/abb\\Z/
 "abb\nb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/abb\\z/
 "abb\nb\n", 0, -1, (-1, -1)
 "b\nabb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/abb\\z/m
 "abb\nb\n", 0, -1, (-1, -1)
 "b\nabb\n", 0, -1, (-1, -1)
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
/abb\\Z/m
 "ac\nb\n", 0, -1, (-1, -1)
 "b\nac\n", 0, -1, (-1, -1)
 "b\nac", 0, -1, (-1, -1)
 "ca\nb\n", 0, -1, (-1, -1)
 "b\nca\n", 0, -1, (-1, -1)
 "b\nca", 0, -1, (-1, -1)
